﻿Imports EntitiesLayer

'---------------------------------------> Clase creada por Diego Barillas <----------------------------------------

Public Class frmModificarAsociarMusculosAEjercicio
    Dim idEjercicio As Integer
    Dim nombreComun As String
    Dim nombreOpcional As String
    Dim codigo As String
    Dim erroresComunes As String
    Dim indicacionesGenerales As String
    Dim nombreMusculoPrincipal As String
    Dim imagenInicial As String
    Dim imagenFinal As String
    Dim listaMusculos As List(Of Musculo) = New List(Of Musculo) 'guarda los musculos seleccionados
    Dim lista As List(Of EntitiesLayer.Musculo)
    Dim listamus As List(Of EntitiesLayer.Musculo)

    Private Sub frmModificarAsociarMusculosAEjercicio_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        tblMusculos.AutoGenerateColumns = False

        'lista = objGestor.listaMusculos()
        tblMusculos.DataSource = lista
        tblMusculos.Columns("Asociado").DataPropertyName = "asociado"
        tblMusculos.Columns("Id").DataPropertyName = "Id"
        tblMusculos.Columns("Nombre").DataPropertyName = "Nombre"
        tblMusculos.Columns("Irrigacion").DataPropertyName = "Irrigacion"
        tblMusculos.Columns("Inervacion").DataPropertyName = "Inervacion"
        tblMusculos.Columns("Insercion").DataPropertyName = "Insercion"
        tblMusculos.Columns("Origen").DataPropertyName = "Origen"

        tblMusculos.Columns(0).ReadOnly = False
        tblMusculos.Columns(1).Visible = False
        tblMusculos.Columns(2).ReadOnly = True
        tblMusculos.Columns(3).ReadOnly = True
        tblMusculos.Columns(4).ReadOnly = True
        tblMusculos.Columns(5).ReadOnly = True
        tblMusculos.Columns(6).ReadOnly = True
        For Each row As DataGridViewRow In tblMusculos.Rows

            row.Cells.Item("Asociado").Value = False
        Next

        For Each dRow As DataGridViewRow In tblMusculos.Rows 'recorre cada celda del dataGrid de musculos asociados
            For Each musculo As Musculo In listamus 'recorre cada musculo de la lista de musculos asociados al ejercicio

                If dRow.Cells.Item("Id").Value = musculo.Id Then 'si alguna fila del dataGrid tiene el mismo id de la lista del musculo entra al if

                    dRow.Cells.Item("Asociado").Value = True

                End If
            Next
        Next



    End Sub

    Public Sub setListaMusculos(lista As IList)
        listamus = lista
    End Sub

    Private Sub btnRegistrar_Click(sender As Object, e As EventArgs) Handles btnRegistrar.Click

        'Recorre cada fila del dataGrid tblMusculos
        For Each dRow As DataGridViewRow In tblMusculos.Rows

            'Si la fila en la celda asociado el valor es true entra al if
            If dRow.Cells.Item("Asociado").Value = True Then

                'listaMusculos.Add(objGestor.listaMusculos.ElementAt(Convert.ToUInt32(dRow.Index))) 'guarda el musculo en la lista de musculos
            End If
        Next dRow

        'valida que si la lista de musculos es cero muestre un mensaje de error
        If listaMusculos.Count = 0 Then
            lblMusculosAsociados.Visible = True
        Else

            Dim frmModificar As New frmModificarEjercicio
            For Each x As Control In Me.Parent.Controls.OfType(Of frmModificarEjercicio)()

                frmModificar = x
                nombreComun = frmModificar.txtNombreComun.Text
                nombreOpcional = frmModificar.txtNombreOpcional.Text
                codigo = frmModificar.txtCodigo.Text
                erroresComunes = frmModificar.txtErroresComunes.Text
                indicacionesGenerales = frmModificar.txtIndicaciones.Text
                nombreMusculoPrincipal = frmModificar.cmbMusculos.SelectedItem
                idEjercicio = frmModificar.txtIdEjercicio.Text
            Next

            Dim frmImagenes As New frmModificarImagenesEjercicio
            For Each x As Control In Me.Parent.Controls.OfType(Of frmModificarImagenesEjercicio)()

                frmImagenes = x


            Next
            'llama al metodo modificarEjercicio en el gestor
            objGestor.modificarEjercicio(idEjercicio, nombreComun, nombreOpcional, codigo, frmImagenes.imagenEnbyte1, frmImagenes.imagenEnbyte2, nombreMusculoPrincipal, listaMusculos, erroresComunes, indicacionesGenerales)

            'limpia los controles del paneForm para refrescar el dataGrid
            FrmPrincipal.paneForm.Controls.Clear()
            Dim frm As New Control
            frm = New frmConsultarEjercicios
            frm.Dock = DockStyle.Fill
            FrmPrincipal.paneForm.Controls.Add(frm)

            Dim frmModificarRoles As New frmRegistroExitoso 'crea una instancia del form modificar roles
            frmModificarRoles.Dock = DockStyle.Fill
            frmTransparente.AgregarContenido(frmModificarRoles)
            frmModificarRoles.agregarLabels("el ejercicio " + nombreComun + ".")
            frmTransparente.Show()
            Me.Hide()
            frmSecundario.Width = Screen.PrimaryScreen.WorkingArea.Width
            frmSecundario.Height = Screen.PrimaryScreen.WorkingArea.Height - Screen.PrimaryScreen.WorkingArea.Height * (60 / 100)
            frmSecundario.Location = New Point(Screen.PrimaryScreen.WorkingArea.X, Screen.PrimaryScreen.WorkingArea.Height * (32 / 100))


        End If
    End Sub

    Private Sub btnCancelar_Click(sender As Object, e As EventArgs) Handles btnCancelar.Click
        Dim frmcancelar As New frmCancelar 'crea una instancia del form modificar roles
        frmcancelar.Dock = DockStyle.Fill
        frmTransparente.AgregarContenido(frmcancelar)
        frmcancelar.agregarLabels("de la modificación del ejercicio?", "modificación", frmcancelar)
        frmTransparente.Show()
        Me.Hide()
        frmSecundario.Width = Screen.PrimaryScreen.WorkingArea.Width
        frmSecundario.Height = Screen.PrimaryScreen.WorkingArea.Height - Screen.PrimaryScreen.WorkingArea.Height * (60 / 100)
        frmSecundario.Location = New Point(Screen.PrimaryScreen.WorkingArea.X, Screen.PrimaryScreen.WorkingArea.Height * (32 / 100))
    End Sub

    Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click

        For Each x As Control In Me.Parent.Controls.OfType(Of frmModificarImagenesEjercicio)()
            x.Visible = True

        Next
        Me.Visible = False
    End Sub

    Private Sub tblMusculos_CellContentClick(sender As Object, e As DataGridViewCellEventArgs)

    End Sub
End Class
